The present invention generally relates to operational maintenance of data processing systems, and more particularly to saving and restoring state information.
There are numerous software applications in which data integrity is critical. The applications range from airlines reservations systems to systems for controlling and operating large scale data processing systems. The need for data integrity is largely equal in all cases. However, the quantity of data and the frequency of updates to the data may vary greatly from application to application.
There is a present trend toward implementing new and improved software applications using object oriented programming (OOP) languages. OOP languages provide a convenient means for implementing graphical user interfaces and also enhance extensibility of the software.
Object oriented database management systems are well-suited for integration with object oriented applications and provide the necessary functionality for backing-up and recovering transaction oriented data. However, the backup and recovery process can be cumbersome in certain applications where the end-user neither needs nor requires the capabilities of a robust database management system. In addition, a fully capable database management system may be costly and require significant computing resources. Object oriented database management systems are less than optimal for use with applications requiring data integrity but having low transaction rates.
A system and method that addresses the aforementioned problems, as well as other related problems, are therefore desirable.
A method and apparatus are provided in various embodiments for persisting object oriented data with reduced overhead. Persistent storage is established for a working data set and a committed data set. The areas for the working and committed data sets are used for storage of the persistent data objects. After a persistent data object is updated in computer memory, the updated version is written to the working data set. Then, references to the working data set and the committed data set are switched, whereby the working data set becomes the committed data set and the committed data set becomes the working data set.
In accordance with another embodiment of the invention, there is provided a computer program product that is configured to be operable to persist object oriented data objects.
The above summary of the present invention is not intended to describe each disclosed embodiment of the present invention. The figures and detailed description that follow provide additional example embodiments and aspects of the present invention.